using System;
using ns27;

namespace Triton.Game.Mapping
{
	[Attribute38("CurrencyFrame")]
	public class CurrencyFrame : MonoBehaviour
	{
		public enum CurrencyType
		{
			NONE,
			GOLD,
			ARCANE_DUST
		}

		public enum State
		{
			ANIMATE_IN,
			ANIMATE_OUT,
			HIDDEN,
			SHOWN
		}

		public UberText m_amount => method_3<UberText>("m_amount");

		public GameObject m_dustJar => method_3<GameObject>("m_dustJar");

		public GameObject m_dustFX => method_3<GameObject>("m_dustFX");

		public GameObject m_explodeFX_Common => method_3<GameObject>("m_explodeFX_Common");

		public GameObject m_explodeFX_Rare => method_3<GameObject>("m_explodeFX_Rare");

		public GameObject m_explodeFX_Epic => method_3<GameObject>("m_explodeFX_Epic");

		public GameObject m_explodeFX_Legendary => method_3<GameObject>("m_explodeFX_Legendary");

		public GameObject m_goldCoin => method_3<GameObject>("m_goldCoin");

		public GameObject m_background => method_3<GameObject>("m_background");

		public PegUIElement m_mouseOverZone => method_3<PegUIElement>("m_mouseOverZone");

		public State m_state => method_2<State>("m_state");

		public CurrencyType m_showingCurrency => method_2<CurrencyType>("m_showingCurrency");

		public bool m_backgroundFaded => method_2<bool>("m_backgroundFaded");

		public bool m_blockedStatus => method_2<bool>("m_blockedStatus");

		public CurrencyFrame(IntPtr address, string className)
			: base(address, className)
		{
		}

		public CurrencyFrame(IntPtr address)
			: this(address, "CurrencyFrame")
		{
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void DeactivateCurrencyFrame()
		{
			method_8("DeactivateCurrencyFrame");
		}

		public void SetBlockedStatus(bool blockedStatus)
		{
			method_8("SetBlockedStatus", blockedStatus);
		}

		public void RefreshContents()
		{
			method_8("RefreshContents");
		}

		public void HideTemporarily()
		{
			method_8("HideTemporarily");
		}

		public GameObject GetTooltipObject()
		{
			return method_14<GameObject>("GetTooltipObject", Array.Empty<object>());
		}

		public void ShowImmediate(CurrencyType currencyType)
		{
			method_8("ShowImmediate", currencyType);
		}

		public void Show(CurrencyType currencyType)
		{
			method_8("Show", currencyType);
		}

		public CurrencyType GetCurrencyToShow()
		{
			return method_11<CurrencyType>("GetCurrencyToShow", Array.Empty<object>());
		}

		public void SetAmount(long amount)
		{
			method_8("SetAmount", amount);
		}

		public void ShowCurrencyType(CurrencyType currencyType)
		{
			method_8("ShowCurrencyType", currencyType);
		}

		public void FadeBackground(bool isFaded)
		{
			method_8("FadeBackground", isFaded);
		}

		public void ActivateCurrencyFrame()
		{
			method_8("ActivateCurrencyFrame");
		}

		public void OnFrameMouseOver(UIEvent e)
		{
			method_8("OnFrameMouseOver", e);
		}

		public void OnFrameMouseOut(UIEvent e)
		{
			method_8("OnFrameMouseOut", e);
		}

		public void OnGoldBalanceChanged(NetCache.NetCacheGoldBalance balance)
		{
			method_8("OnGoldBalanceChanged", balance);
		}

		public void UpdateAmount(CurrencyType currencyType)
		{
			method_8("UpdateAmount", currencyType);
		}

		public void OnSceneLoaded(SceneMgr.Mode mode, PegasusScene scene, object userData)
		{
			method_8("OnSceneLoaded", mode, scene, userData);
		}
	}
}
